﻿package net.wangit.demo.style;

import net.wangit.Element;
import net.wangit.Unit;
import net.wangit.constants.ElementShowMode;
import net.wangit.context.ActionContext;
import net.wangit.support.UnitInterceptor;
import net.wangit.util.Checker;

public class StyleUI1 implements UnitInterceptor {

  public String intercept(ActionContext ac, Unit unit) throws Exception {
    // 获取控制单元
    Unit target = (Unit) unit.getElement("unit").getObject();

    // 设置标题
    String title = ac.getRequestParameter("style.ui1.title");
    if (!Checker.isEmpty(title)) {
      target.setTitle(title);
    }
    // 删除元素
    int removeIndex = ac.getRequestParameterInt("style.ui1.removeindex", -1);
    if (removeIndex > 0) {
      target.removeElement(removeIndex - 1);
    }
    // 设为文本
    int controlIndex = ac.getRequestParameterInt("style.ui1.controlindex", 1);
    Element element = target.getElement(controlIndex - 1);
    if (element != null) {
      element.setShowMode(ElementShowMode.TEXT);
    }

    // 设定选项
    unit.getElement("title").setDefaultValue(title);
    unit.getElement("removeindex").setDefaultValue(
        Integer.toString(removeIndex));
    unit.getElement("controlindex").setDefaultValue(
        Integer.toString(controlIndex));
    return unit.write(ac);
  }

}
